home *** CD-ROM | disk | FTP | other *** search
/ Mac Magazin/MacEasy 5 / Mac Magazin and MacEasy Magazine CD - Issue 05.iso / Sharewarebibliothek / Entwickler / Pretty Print / Release notes < prev    next >
Text File  |  1994-10-01  |  4KB  |  95 lines

  1. Enclosed in this folder are two programs based on a token generating engine.
  2. Tokenizer was a test program that I created to see how hard it would be to create
  3. a language sensitive editor. It looks very promising since most of the work
  4. is being done by Apple's Script Manager. Drop Pretty print is the first program
  5. based on the Tokenizer. Its a Simple Drag and drop source code formatted source
  6. code printer.
  7.  
  8. What Tokenizer does right now.
  9.  
  10. It will tokenize a file it recognizes and displays the text formatted into a
  11. fixed 640x480 window. If the file is less than the number of lines displayed it
  12. displays the text and then exits (not very useful I know). Once you open a file
  13. you have to hold down the mouse button to scroll through the file. Again not
  14. very useful and its the only thing you can do until its done displaying the
  15. file. I haven't added a lot of user interaction because the first versions will
  16. be drag and drop applications. The user interface will be added when the editor
  17. starts taking shape. So don't drop long files onto it unless you like to hold
  18. down the mouse button a lot . :-)
  19.  
  20.  
  21. The point of this exercise is to see how it works and to report things that it
  22. doesn't recognize. Also I would like people to try and expand the language
  23. definitions to see if it can parse other languages. When I first posted about
  24. this program it only recognizes .c and .p files. In less than one minute I added
  25. .r and .h files support. Chris Thomas added c++ support.
  26.  
  27. To add a language there are two custom resources. LANG and COMM. Lang describes
  28. the suffix and the keywords in that file (language). The COMM is the comment
  29. delimiters for the language. the two work as indexed pairs. LANG is self
  30. explanatory I think. To add C++ files just duplicate the C resource add or delete
  31. any keywords for the language and duplicate the C COMM resource since c++
  32. comments are probably the same. To change the comments you will need the Script
  33. manager documentation that's in IM v6 or IM:Text. It uses the tokenXXX constants
  34. for character definitions.
  35.  
  36. suffixes are limited to 32 characters
  37.  
  38. Drop Pretty Print
  39.  
  40. Drop pretty Print is a simple program based on the Tokenizer code that will
  41. send your source code formatted to the current printer. The header and footer
  42. are customizable via ResEdit. The header has four variables to describe the 
  43. filename, modified date, modified time and the creator.
  44.  
  45. &f = filename
  46. &d = date
  47. &t = time 
  48. &c = creator
  49.  
  50. The footer has one variable called &p for the page number. The header and footer 
  51. strings are in the STR# resources.
  52.  
  53. The font and sized used are stored in the 'STR ' resources.
  54.  
  55.  
  56. What I hope it will become
  57.  
  58. A language sensitive programmers editor. Since the program actually tokenizes the
  59. text and will probably store the text in tokenized form, I hope that the compiler
  60. will in some way support smart editors. If the compiler can accept tokens
  61. instead of raw text and know that its syntactically correct, we can probably
  62. improve the speed of edit-compile-link cycle even further.
  63.  
  64.  
  65. So please let me know what features you would like to see in each of the
  66. "versions"
  67.  
  68. The resources for LANG and COMM are goofy and they have been changed in the next
  69. release.
  70.  
  71.  
  72. As to the source code.
  73.  
  74.  
  75. These isn't much there. the
  76. TokenResults:=IntlTokenize(tokenParam_TokenBlockPtr); function handles all of
  77. the work, its in Pascal, and I think Peter, Quinn and I are the only ones still
  78. using this language :-). If I clean up the code and make it palatable for general
  79. perusal or if I can't find time to work on the program I will release the
  80. source. Plus I couldn't release it until I can get it converted to MW Pascal. :-)
  81.  
  82.  
  83. Matthew Xavier Mora
  84.  
  85. MXM Designs™
  86. 39075 Carmel Ct
  87. Fremont CA 94538
  88. Voice: (510) 795-1978
  89. Email: mxmora@unix.sri.com
  90.  
  91. P.S. Yes I know the icons are really ugly. :-)
  92.  
  93.  
  94.  
  95.